<?php

/**
* Return module url by its name and/or option
* 
* @param array $params
* @param mixed $smarty
* @return string
*/
function smarty_compiler_get_module_url($tag_attrs, &$compiler)
{
    $params = $compiler->_parse_attrs($tag_attrs);
    // поскольку значения параметров используются как для runtime выполнения,
    // так и для компиляции шаблона, обрезаем кавычки сразу, и работаем с ними
    // в чистом виде
    foreach ($params as &$value)
    {
        $value = trim($value, '\'"');
    }
    
    $name = $params['name'];
    if (empty($name)) {
        $compiler->_syntax_error("get_module_url: module name is not specified", E_USER_WARNING);
        return;
    }
    $option = isset($params['option']) ? (int)$params['option'] : 0;
    
    
    $code = 'Kernel_Filter_Structure::getModuleUrl("' . $name . '", ' . $option . ')';
    
    return 'echo ' . $code . ';';
}